1. Field of Invention
The present invention relates generally to methods and apparatus for use in application builder tools, and more particularly, to methods and apparatus for use in customizing software components.
2. Background
As computer usage becomes increasingly widespread, the desire for custom computer applications which are specific to the needs of a particular user is also increasing. The use of visual builder tools, or application builder tools, enables computer applications to be readily created. Builder tools generally include standard sets of software modules, or "building blocks," which can be interlinked to create custom-built applications.
Many visual based applications builder tools, as for example Visual Basic, available from Microsoft, Inc. of Redmond, Wash., have a graphical user interface which includes a "toolbox", a "form window", and a "property sheet". A toolbox typically contains icons which represent different classes of components, or software modules. Alternatively, the toolbox may contain text which represents different classes of components. It should be appreciated that many different classes of components may exist. By way of example, different classes can include complex components, e.g., database viewers, and simple components, e.g., buttons. A form window is a display window in which an application may be composed. A component selected from the toolbox may be "dropped", or otherwise placed, within the form window. Placing a component refers to placing an icon, or a screen representation of the component, within the form window. A property sheet displays properties, or attributes, which relate to the selected component. The properties can include, but are not limited to, information relating to the size, color, and name of the selected component.
In general, a property sheet displays a fixed set of properties which can be modified to customize, or configure, a given component. Hence, a user can select and modify different properties in the property sheet in order to customize a component. Simple components typically have fewer associated properties than larger components, and can therefore be readily customized by making selections in a property sheet. Customizing larger components, e.g., a database, by selecting different properties from the property sheet, however, often proves to be inefficient, as the number of different properties displayed in the property sheet can be high. Since larger components can also be customized in a number of different ways, customizing larger components as desired by a user can prove to be extremely time-consuming. By way of example, due to the fact that changes to one property often logically require changes to another property, a user must often locate "related" properties, then determine an efficient order in which to modify the related properties. Further, with many different properties which can be customized, the likelihood of mistakenly modifying a property during the customization process increases with the size of a component. As the possibility that a property may be inadvertently or incorrectly modified increases, it follows that the chances of incorrectly customizing a component also increase. Thus, improperly customized components can be used as a part of an application, thereby compromising the quality of the application which uses the components.
Therefore, what is desired is a method and an apparatus which enables a component to be efficiently and accurately customized. Specifically, what is desired is a guide, or a user interface, which directs a user through the steps associated with customizing a component.